package com.iflytek.cosmo.ocr.model.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.Set;

@Table(name="T_OCR_FILE")
public class OcrFileEntity {

	/**
	 * 主键Id
	 */
	@Column(name="id")
	@Id
	private String id;
	
	/**
	 * 文件名称
	 */
	@Column(name="file_name")
	private String fileName;
	
	/**
	 * 文件类型
	 */
	@Column(name="file_type")
	private String fileType;
	
	/**
	 * 文件大小
	 */
	@Column(name="file_size")
	private Long fileSize;
	
	/**
	 * 文件路径
	 */
	@Column(name="file_path")
	private String filePath;
	
	/**
	 * 文件页码
	 */
	@Column(name="file_page")
	private Integer filePage;
	
	/**
	 * 格式化文件类型
	 */
	@Column(name="format_type")
	private String formatType;
	
	/**
	 * 格式化文件大小
	 */
	@Column(name="format_size")
	private Long formatSize;
	
	/**
	 * 格式化文件路径
	 */
	@Column(name="format_path")
	private String formatPath;
	
	/**
	 * 对应被分页前的文件ID
	 */
	@Column(name="parent_id")
	private String parentId;
	
	/**
	 * 用户ID
	 */
	@Column(name="user_id")
	private String userId;
	
	/**
	 * 文件目录ID
	 */
	@Column(name="dir_id")
	private String dirId;

    /**
     * 文件状态
     */
	@Column(name = "status")
    private Integer status;
	
	/**
	 * 创建时间
	 */
	@Column(name="create_time")
	private Date createTime;
	
	/**
	 * 创建时间
	 */
	@Column(name="update_time")
	private Date updateTime;
	
	/**
	 * 示例文件类型 1歪斜校正&自动旋转 2图像切边 3分栏切分 4手印 5签章
	 */
	@Transient
	private Set<Integer> exampleType;
	
	/**
	 * 是否删除
	 */
	@Column(name = "isdelete")
	private Integer isDelete;

	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the fileName
	 */
	public String getFileName() {
		return fileName;
	}

	/**
	 * @param fileName the fileName to set
	 */
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	/**
	 * @return the fileType
	 */
	public String getFileType() {
		return fileType;
	}

	/**
	 * @param fileType the fileType to set
	 */
	public void setFileType(String fileType) {
		this.fileType = fileType;
	}

	/**
	 * @return the fileSize
	 */
	public Long getFileSize() {
		return fileSize;
	}

	/**
	 * @param fileSize the fileSize to set
	 */
	public void setFileSize(Long fileSize) {
		this.fileSize = fileSize;
	}

	/**
	 * @return the filePath
	 */
	public String getFilePath() {
		return filePath;
	}

	/**
	 * @param filePath the filePath to set
	 */
	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	/**
	 * @return the filePage
	 */
	public Integer getFilePage() {
		return filePage;
	}

	/**
	 * @param filePage the filePage to set
	 */
	public void setFilePage(Integer filePage) {
		this.filePage = filePage;
	}

	/**
	 * @return the formatType
	 */
	public String getFormatType() {
		return formatType;
	}

	/**
	 * @param formatType the formatType to set
	 */
	public void setFormatType(String formatType) {
		this.formatType = formatType;
	}

	/**
	 * @return the formatSize
	 */
	public Long getFormatSize() {
		return formatSize;
	}

	/**
	 * @param formatSize the formatSize to set
	 */
	public void setFormatSize(Long formatSize) {
		this.formatSize = formatSize;
	}

	/**
	 * @return the formatPath
	 */
	public String getFormatPath() {
		return formatPath;
	}

	/**
	 * @param formatPath the formatPath to set
	 */
	public void setFormatPath(String formatPath) {
		this.formatPath = formatPath;
	}

	/**
	 * @return the parentId
	 */
	public String getParentId() {
		return parentId;
	}

	/**
	 * @param parentId the parentId to set
	 */
	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	/**
	 * @return the userId
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * @param userId the userId to set
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}

	/**
	 * @return the dirId
	 */
	public String getDirId() {
		return dirId;
	}

	/**
	 * @param dirId the dirId to set
	 */
	public void setDirId(String dirId) {
		this.dirId = dirId;
	}

	/**
	 * @return the createTime
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 * @param createTime the createTime to set
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 * @return the updateTime
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 * @param updateTime the updateTime to set
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

	public Set<Integer> getExampleType() {
		return exampleType;
	}

	public void setExampleType(Set<Integer> exampleType) {
		this.exampleType = exampleType;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	
}
